package com.tl.spider.service.parser;

import java.util.ArrayList;
import java.util.List;

import com.tl.spider.pojo.ParserPojo;
import com.tl.spider.pojo.WebPagePojo;
import com.tl.spider.utils.common_utils.RegexUtil;

public class ParserManager {
	public static final String regexULBlock = "<ul[\\s]class=\"tj3_1\"[\\s\\S]*?</ul>";
	public static final String regexLiBlock = "<li>[\\s\\S]*?</li>";
	public static final String regexTitle = "<a[\\s]href[\\s\\S]*?>([\\s\\S]*?)</a>";
	public static final String regexTime = "<font>([\\s\\S]*?)</font>";

	/**
	 * 对下载的网页进行解析,并返回数据list<br>
	 * 该方法仅针对网址http://news.youth.cn/gn/index.htm
	 * 
	 * @param webPagePojo
	 * @return
	 * @date 2021年7月20日
	 * @author Antg
	 */
	public static List<ParserPojo> parser(WebPagePojo webPagePojo) {
		List<ParserPojo> result = new ArrayList<ParserPojo>();
		// 首先定位到ul
		String ulCode = RegexUtil.getMatchContent(webPagePojo.getCode(),
				regexULBlock);
		// 定位到li
		List<String> liCodeList = RegexUtil.getMatchContents(ulCode,
				regexLiBlock);
		// 遍历li取得title和发布时间
		String title = null;
		String pubTime = null;
		for (String li : liCodeList) {
			title = RegexUtil.getMatchContent(li, regexTitle, 1);
			pubTime = RegexUtil.getMatchContent(li, regexTime, 1);
			result.add(new ParserPojo(title, pubTime, webPagePojo
					.getUrlTaskPojo()));
		}
		return result;
	}
}
